---
id: 656680b0fc79f2c38a34d90e
title: Крок 10
challengeType: 20
dashedName: step-10
---

# --description--

Тепер настав час відсортувати та об’єднати списки (`left_part` та `right_part`) у вихідний список `array`.

Для цього можна порівняти елементи обох списків та додати найменший елемент до головного списку. Ви будете виконувати це порівняння для всіх індексів у `left_part` та `right_part`.

Створіть три змінні: `left_array_index`, `right_array_index` та `sorted_index`, і встановіть їхні значення на `0`. Ці змінні допоможуть вам відстежувати кожен індекс під час процесу сортування.

# --hints--

Функція `merge_sort` повинна містити змінну під назвою `left_array_index`.

```js
({
  test: () => {
    const transformedCode = code.replace(/\r/g, "");
    const merge_sort = __helpers.python.getDef("\n" + transformedCode, "merge_sort");
    const { function_body } = merge_sort;

    assert.match(function_body, /left_array_index\s*(?!=)/);
  }
})
```

Значенням `left_array_index` має бути 0.

```js
({
  test: () => {
    const transformedCode = code.replace(/\r/g, "");
    const merge_sort = __helpers.python.getDef("\n" + transformedCode, "merge_sort");
    const { function_body } = merge_sort;

    assert.match(function_body, /left_array_index\s*=\s*0/);
  }
})
```

Функція `merge_sort` повинна містити змінну під назвою `right_array_index`.

```js
({
  test: () => {
    const transformedCode = code.replace(/\r/g, "");
    const merge_sort = __helpers.python.getDef("\n" + transformedCode, "merge_sort");
    const { function_body } = merge_sort;

    assert.match(function_body, /right_array_index\s*(?!=)/);
  }
})
```

Значенням `right_array_index` має бути 0.

```js
({
  test: () => {
    const transformedCode = code.replace(/\r/g, "");
    const merge_sort = __helpers.python.getDef("\n" + transformedCode, "merge_sort");
    const { function_body } = merge_sort;

    assert.match(function_body, /right_array_index\s*=\s*0/);
  }
})

```

Функція `merge_sort` повинна містити змінну під назвою `sorted_index`.

```js
({
  test: () => {
    const transformedCode = code.replace(/\r/g, "");
    const merge_sort = __helpers.python.getDef("\n" + transformedCode, "merge_sort");
    const { function_body } = merge_sort;

    assert.match(function_body, /sorted_index\s*(?!=)/);
  }
})
```

Значенням `sorted_index` має бути 0.

```js
({
  test: () => {
    const transformedCode = code.replace(/\r/g, "");
    const merge_sort = __helpers.python.getDef("\n" + transformedCode, "merge_sort");
    const { function_body } = merge_sort;

    assert.match(function_body, /sorted_index\s*=\s*0/);
  }
})
```

# --seed--

## --seed-contents--

```py
def merge_sort(array):

    middle_point = len(array) // 2
    left_part = array[:middle_point]
    right_part = array[middle_point:]
    merge_sort(left_part)
    merge_sort(right_part)

--fcc-editable-region--

--fcc-editable-region--
```
